package com.amsp.oa.oademo.service;

import com.amsp.oa.oademo.entity.InternInfo;
import com.amsp.oa.oademo.vo.InternInfoVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

public interface InternInfoService extends IService<InternInfo> {
    /**
     * 保存或更新实习资料
     * 
     * @param vo 实习资料VO
     * @return 是否成功
     */
    boolean saveOrUpdateInternInfo(InternInfoVO vo);

    /**
     * 批量保存或更新实习资料
     * 
     * @param voList 实习资料VO列表
     * @return 是否成功
     */
    boolean batchSaveOrUpdateInternInfo(List<InternInfoVO> voList);

    /**
     * 获取实习资料详情
     * 
     * @param id ID
     * @return 实习资料VO
     */
    InternInfoVO getInternInfoDetail(Long id);

    /**
     * 分页查询实习资料
     * 
     * @param page 分页参数
     * @param vo   查询条件
     * @return 分页结果
     */
    Page<InternInfoVO> getInternInfoPage(Page<InternInfo> page, InternInfoVO vo);

    /**
     * 删除实习资料
     * 
     * @param id ID
     * @return 是否成功
     */
    boolean deleteInternInfo(Long id);

    /**
     * 批量删除实习资料
     * 
     * @param ids ID列表
     * @return 是否成功
     */
    boolean batchDeleteInternInfo(List<Long> ids);
}